#include "common.h"

vector<string> ans;
int add = 'a' - 'A';
void dfs(string s, string sss, int index)
{
	if (index == s.size())
	{
		ans.push_back(sss);
		return;
	}
	char c = s[index];
	dfs(s, sss + c, index + 1);
	if (c >= 'A' && c <= 'Z')
	{
		c += add;
		dfs(s, sss + c, index + 1);
	}
	else if (c >= 'a' && c <= 'z')
	{
		c -= add;
		dfs(s, sss + c, index + 1);
	}
}
vector<string> letterCasePermutation(string s)
{
	dfs16(s, "", 0);
	return ans;
}